package NGUYENVANDOAN.JSONDEMO.JACKSONJSON;

import java.io.File;
import java.net.URL;

import org.codehaus.jackson.map.ObjectMapper;

/*
 * Sử dụng file thư viện Json Jackson - jackson-all-1.9.0.jar
 * */
public class DEMO01_OBJECTS_TO_JSON_DEMO {

    /**
     * @param args
     */
    public static void main(String[] args) {

        // 1. Khai báo và khởi tạo đối tượng
        Students objStudent = new Students();
        objStudent.setRollNo(100);
        objStudent.setFullName("Nguyễn Văn A");
        objStudent.setMark(9.5);

        // 2. Khai báo và khởi tạo đối tượng ObjectMapper để có thể
        // Read và Write dữ liệu xuống files JSon.
        ObjectMapper objMaper = new ObjectMapper();

        // 3. Lấy đường dẫn tương đối đến Resources trong Solution đang phát
        // triển.
        ClassLoader objcls = (Thread.currentThread()).getContextClassLoader();
        URL url = objcls.getResource("NGUYENVANDOAN/JSONDEMO/JACKSONJSON/");

        // 4. Ghi dữ liệu Object Java xuống files JSON
        // writeValue(<đường dẫn tới file đã khởi tạo>, <dữ liệu nguồn cần ghi
        // xuống files>);
        try {
            objMaper.writeValue(new File(url.getPath().toString() + "Students.json"), objStudent);
            System.out.println("Đã ghi dữ liệu xuống files thành công!!!");
        } catch (Exception e) {
            System.out.println("Có lỗi xảy ra: " + e.getMessage());
        }
    }
}
